﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using CROSLAND.BL.BE;
using CROSLAND.BL.BC;

namespace CROSLAND.WebApp
{
    public partial class ListaCampañas : System.Web.UI.Page
    {
        /// <summary>
        /// Almacena el resultado de la búsquda
        /// </summary>
        public List<CampañaBE> ListaCampaña
        {
            get
            {
                return (Session["Campañas"] != null) ?
                    (List<CampañaBE>)Session["Campañas"] : new List<CampañaBE>();
            }
            set { Session["Campañas"] = value; }
        }

        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                if (!Page.IsPostBack)
                {
                    if (string.IsNullOrEmpty(txtFecha.Text))
                    {
                        txtFecha.Text = DateTime.Today.ToString("dd/MM/yyyy");
                    }

                    Dictionary<string, List<GenericBE>> dict = (Dictionary<string, List<GenericBE>>)Session["CargarCombos"];

                    cmbCampana.DataValueField = "Codigo";
                    cmbCampana.DataTextField = "Descripcion";
                    cmbCampana.DataSource = dict["campañas"].ToList();
                    cmbCampana.DataBind();

                    cmbPoblacion.DataValueField = "Codigo";
                    cmbPoblacion.DataTextField = "Descripcion";
                    cmbPoblacion.DataSource = dict["poblacion"].ToList();
                    cmbPoblacion.DataBind();

                    cmbColor.DataValueField = "Codigo";
                    cmbColor.DataTextField = "Descripcion";
                    cmbColor.DataSource = dict["color"].ToList();
                    cmbColor.DataBind();
                }
            }
            catch (Exception ex)
            {
                Session["Mensaje"] = ex.Message;
            }
            finally
            {
                ((Site)Master).muestraMensajes();
            }
        }

        protected void btnBuscar_Click(object sender, EventArgs e)
        {
            this.Buscar();
        }

        protected void Buscar()
        {
            UsuarioWebBE uWeb = new UsuarioWebBE();
            uWeb = (UsuarioWebBE)HttpContext.Current.Session["UsuarioWeb"];
            this.ListaCampaña = null;
            string pOrgVta = uWeb.OrgVentas;

            string pCamp = (!string.IsNullOrEmpty(cmbCampana.SelectedValue)) ? cmbCampana.SelectedValue : null;
            string pCanal = uWeb.CanalDist;
            string pTienda = uWeb.OfVentas;
            string pPobla = (!string.IsNullOrEmpty(cmbPoblacion.SelectedValue)) ? cmbPoblacion.SelectedValue : null;
            DateTime pFecha = (!string.IsNullOrEmpty(txtFecha.Text))?Convert.ToDateTime(txtFecha.Text): DateTime.Now;
            string pModelo = (!string.IsNullOrEmpty(txtModelo.Text)) ? txtModelo.Text : null;
            string pColor = (!string.IsNullOrEmpty(cmbColor.SelectedValue)) ? cmbColor.SelectedValue : null;

            this.ListaCampaña = PedidoBC.Instance.listaCampañas(pOrgVta, pCamp, pCanal, pTienda, pPobla, pFecha, pModelo, pColor); 
            this.gvListado.DataSource = this.ListaCampaña;
            this.gvListado.DataBind();
        }
    }
}